home *** CD-ROM | disk | FTP | other *** search
- //: C18:Fullwrap.h
- // From Thinking in C++, 2nd Edition
- // Available at http://www.BruceEckel.com
- // (c) Bruce Eckel 1999
- // Copyright notice in Copyright.txt
- // Completely hidden file IO
- #ifndef FULLWRAP_H
- #define FULLWRAP_H
-
- class File {
- std::FILE* f;
- std::FILE* F(); // Produces checked pointer to f
- public:
- File(); // Create object but don't open file
- File(const char* path,
- const char* mode = "r");
- ~File();
- int open(const char* path,
- const char* mode = "r");
- int reopen(const char* path,
- const char* mode);
- int getc();
- int ungetc(int c);
- int putc(int c);
- int puts(const char* s);
- char* gets(char* s, int n);
- int printf(const char* format, ...);
- size_t read(void* ptr, size_t size,
- size_t n);
- size_t write(const void* ptr,
- size_t size, size_t n);
- int eof();
- int close();
- int flush();
- int seek(long offset, int whence);
- int getpos(fpos_t* pos);
- int setpos(const fpos_t* pos);
- long tell();
- void rewind();
- void setbuf(char* buf);
- int setvbuf(char* buf, int type, size_t sz);
- int error();
- void clearErr();
- };
- #endif // FULLWRAP_H ///:~
-